package io.renren.modules.testrestful.entity;


import lombok.Data;
import lombok.experimental.Accessors;
//import org.omg.PortableInterceptor.INACTIVE;

import java.sql.Timestamp;
import java.util.List;

@Data
@Accessors(chain = true)
public class DevicesInfoResponse {

    private List<DriverData> data;
    private Integer totalPages;
    private boolean hasNext;
    private Integer totalElements;

    @Data
    @Accessors(chain = true)
    public static class DriverData{
        private DeviceData deviceData;
        private DeviceProfileId deviceProfileId;
        private String label;
        private String type;
        private AdditionalInfo additionalInfo;
        private TenantId tenantId;
        private CustomerId customerId;
        private String name;
        private Timestamp createdTime;
        private Id id;
        private Boolean customerIsPublic;
        private String deviceProfileName;
        /**
         * ****
         */
    }

    @Data
    @Accessors(chain = true)
    public static class DeviceData{
        private TransportConfiguration transportConfiguration;
        private Configu configuration;
    }

    @Data
    @Accessors(chain = true)
    public static class DeviceProfileId{
        private String entityType;
        private String id;
    }

    @Data
    @Accessors(chain = true)
    public static class AdditionalInfo{
        private Boolean overwriteActivityTime;
        private String description;
        private Boolean gateway;
    }

    @Data
    @Accessors(chain = true)
    public static class TenantId{
        private String entityType;
        private String id;
    }

    @Data
    @Accessors(chain = true)
    public static class CustomerId{
        private String entityType;
        private String id;
    }

    @Data
    @Accessors(chain = true)
    public static class Id{
        private String entityType;
        private String id;
    }
    @Data
    @Accessors(chain = true)
    public static class TransportConfiguration{
        private String type;
    }

    @Data
    @Accessors(chain = true)
    public static class Configu{
        private String type;
    }


}
